/*
 * 作者：姚俊
 * 功能：学生的逻辑处理
 * 日期：2015-07-01
 */
package admin.service.member;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import teacher.bean.Students;
import tools.StringDate;
import database.dao.MysqlCrud;

public class StudentService {
	
	
	/**
	 * @category 按照不同的条件查询所有的学生信息

	 */	
	public List<Students> getStudentByAll(Students student)
	{
		String sql="select * from students ";
		List<Students> students=new ArrayList<Students>();
		List<String> sql1=new ArrayList<String>();
		List<String> paras=new ArrayList<String>();
		if(student!=null)
		{
			if(student.getName()!=null)
			{
				sql1.add(" name like ? ");
				paras.add("%"+String.valueOf(student.getName())+"%");
			}
			if(student.getStuId()!=null)
			{
				sql1.add(" stuId=? ");
				paras.add(String.valueOf(student.getStuId()));
			}
			if(student.getNumber()!=null)
			{
				sql1.add(" number like ? ");
				paras.add("%"+String.valueOf(student.getNumber())+"%");
			}
			if(student.getSex()!=null)
			{
				sql1.add(" sex=? ");
				paras.add(String.valueOf(student.getSex()));
			}
			if(student.getDegree()!=null)
			{
				sql1.add(" degree=? ");
				paras.add(String.valueOf(student.getDegree()));
			}
			if(student.getTeaId()!=null)
			{
				sql1.add(" teaId=? ");
				paras.add(String.valueOf(student.getTeaId()));
			}

		}
		for(int i=0;i<sql1.size();i++)
		{
			if(i==0)
				sql+="where"+sql1.get(0);
			else
				sql+="and"+sql1.get(i);
		}
		String[] parameter=new String[paras.size()];
		for(int i=0;i<paras.size();i++)
		{
			parameter[i]=paras.get(i);
		}
		MysqlCrud mysqlcurd=new MysqlCrud();
		List<Map> lists = mysqlcurd.SelectData(sql, parameter);
		for(int i=0;i<lists.size();i++)
		{	
			Map map=lists.get(i);
			try {	
				Students stu=new Students();
				stu.setStuId(Integer.parseInt(map.get(0).toString()));
				stu.setName((String) map.get(1));
				stu.setNumber((String) map.get(2));
				stu.setSex(Integer.parseInt(map.get(3).toString()));
				stu.setDegree(Integer.parseInt(map.get(4).toString()));
				stu.setIsleave(Integer.parseInt(map.get(5).toString()));
				stu.setLeaveDate(StringDate.StringToDate(map.get(6).toString()));
				stu.setTeaId(Integer.parseInt(map.get(7).toString()));
				students.add(stu);
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
		}
		
		return students;
	}	
	
	
	/**
	 * @category 按照ID查询所有的学生信息

	 */	
	public Students getStudentById(int Id)
	{
		String sql="select * from students where stuId=?";
		Students stu=new Students();
		String parameter[]={String.valueOf(Id)};
		
		MysqlCrud mysqlcurd=new MysqlCrud();
		List<Map> lists = mysqlcurd.SelectData(sql, parameter);
			Map map=lists.get(0);
			try {	
				
				stu.setStuId(Integer.parseInt(map.get(0).toString()));
				stu.setName((String) map.get(1));
				stu.setNumber((String) map.get(2));
				stu.setSex(Integer.parseInt(map.get(3).toString()));
				stu.setDegree(Integer.parseInt(map.get(4).toString()));
				stu.setIsleave(Integer.parseInt(map.get(5).toString()));
				stu.setLeaveDate(StringDate.StringToDate(map.get(6).toString()));
				stu.setTeaId(Integer.parseInt(map.get(7).toString()));
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
		
		return stu;
	}	

}
